package com.kayang.webapi.tool;


public class JwtUtils {
//    private static String jwt_secretKey = "LR5d0s1br8E4qQPP0RtFaXLsDIt6se7W";//秘钥
//    private static  SignatureAlgorithm signatureAlgorithm = SignatureAlgorithm.HS256;//SHA256withDSA加密算法
//    public static final long EXPIRE = 1000*60*3;// token时效：3分钟
//
//    /**
//     *生成token
//     * @param playloadMap 负载中的信息：包括user_id[用户id],当前时间[iat],过期时间[exp]
//     */
//    public static String createJWT(String jwt_secretKey,Map<String, Object> playloadMap) {
//        SignatureAlgorithm signatureAlgorithm = SignatureAlgorithm.HS256;
//        Map<String, Object> headerMap = new HashMap<String, Object>();
//        headerMap.put("alg", "HS256");
//        headerMap.put("typ", "JWT");
//        String token = Jwts.builder()
//                .setHeader(headerMap)
//                .addClaims(playloadMap)
//                .signWith(signatureAlgorithm, generateKey(jwt_secretKey))
//                .compact();//设置签名使用的签名算法和签名使用的秘钥
//
//        return "Bearer "+ token;
//    }
//
//
//    /**
//     *对jwt秘钥加密
//     * @param args
//     */
//    public static Key generateKey(String jwt_secretKey) {
//        return new SecretKeySpec(jwt_secretKey.getBytes(), SignatureAlgorithm.HS256.getJcaName());
//    }
//
//
//    /**
//     * 判断token是否存在与有效
//     * @param jwtToken token字符串
//     * @return 如果token有效返回true，否则返回false
//     */
//    public static Jws<Claims> decode(String jwtToken) {
//        // 传入Key对象
//        Jws<Claims> claimsJws = Jwts.parserBuilder().setSigningKey(Keys.hmacShaKeyFor(jwt_secretKey.getBytes(StandardCharsets.UTF_8))).build().parseClaimsJws(jwtToken);
//        return claimsJws;
//    }
//
//    /**
//     * 生成负载[playload]信息
//     * @param
//     * @return Map类型,负载中的信息：包括user_id[用户id],当前时间[iat],过期时间[exp]
//     */
//    public static Map<String, Object> playloadInfo() {
//        long now = System.currentTimeMillis();
//        long exp = now + 1000*180 ;//过期时间为 3 分钟
//        String user_id = "10010069";
//        Map<String, Object> playloadMap = new HashMap<String, Object>();
//        playloadMap.put("user_id", user_id);
//        playloadMap.put("iat", now);
//        playloadMap.put("exp", exp);
//        return playloadMap;
//    }

}
